/**
 ****************************************************************************************
 *
 * @file user_custs1_def.h
 *
 * @brief Custom1 Server (CUSTS1) profile database declarations.
 *
 * Copyright (C) 2016. Dialog Semiconductor Ltd,unpublished work. This computer
 * program includes Confidential,Proprietary Information and is a Trade Secret of
 * Dialog Semiconductor Ltd.  All use,disclosure,and/or reproduction is prohibited
 * unless authorized in writing. All Rights Reserved.
 *
 * <bluetooth.support@diasemi.com> and contributors.
 *
 ****************************************************************************************
 */

#ifndef _USER_CUSTS1_DEF_H_
#define _USER_CUSTS1_DEF_H_

/**
 ****************************************************************************************
 * @defgroup USER_CONFIG
 * @ingroup USER
 * @brief Custom1 Server (CUSTS1) profile database declarations.
 *
 * @{
 ****************************************************************************************
 */

/*
 * INCLUDE FILES
 ****************************************************************************************
 */

#include "attm_db_128.h"
/*
 * DEFINES
 ****************************************************************************************
 */
#include "global_cfg.h"
#ifdef TEST_MODE

    #define DEF_CUST1_SVC_UUID_128            {0x9e,0xca,0xdc,0x24,0x0e,0xe5,0xa9,0xe0,0x93,0xf3,0xa3,0xb5,0x01,0x00,0x40,0x6e}
    #define DEF_CUST1_SERVER_TX_UUID_128      {0x9e,0xca,0xdc,0x24,0x0e,0xe5,0xa9,0xe0,0x93,0xf3,0xa3,0xb5,0x03,0x00,0x40,0x6e}
    #define DEF_CUST1_SERVER_RX_UUID_128      {0x9e,0xca,0xdc,0x24,0x0e,0xe5,0xa9,0xe0,0x93,0xf3,0xa3,0xb5,0x02,0x00,0x40,0x6e}
		
    #define DEF_CUST1_SERVER_CTRL_UUID_128    {0xb9,0x5c,0x49,0xd2,0x04,0xa3,0x40,0x71,0xa0,0xb5,0x35,0x85,0x3e,0xb0,0x83,0x07}
		
//		#define DEF_CUST1_SVC_UUID_128            {0x99,0xca,0xdc,0x24,0x0e,0xe5,0xa9,0xe0,0x93,0xf3,0xa3,0xb5,0x01,0x00,0x40,0x69}
//    #define DEF_CUST1_SERVER_TX_UUID_128      {0x99,0xca,0xdc,0x24,0x0e,0xe5,0xa9,0xe0,0x93,0xf3,0xa3,0xb5,0x03,0x00,0x40,0x69}
//    #define DEF_CUST1_SERVER_RX_UUID_128      {0x99,0xca,0xdc,0x24,0x0e,0xe5,0xa9,0xe0,0x93,0xf3,0xa3,0xb5,0x02,0x00,0x40,0x69}
//    #define DEF_CUST1_SERVER_CTRL_UUID_128    {0xb9,0x5c,0x49,0xd2,0x04,0xa3,0x40,0x71,0xa0,0xb5,0x35,0x85,0x3e,0xb0,0x83,0x07}

#else
//		#define DEF_CUST1_SVC_UUID_128            {0x99,0xca,0xdc,0x24,0x0e,0xe5,0xa9,0xe0,0x93,0xf3,0xa3,0xb5,0x01,0x00,0x40,0x69}
//    #define DEF_CUST1_SERVER_TX_UUID_128      {0x99,0xca,0xdc,0x24,0x0e,0xe5,0xa9,0xe0,0x93,0xf3,0xa3,0xb5,0x03,0x00,0x40,0x69}
//    #define DEF_CUST1_SERVER_RX_UUID_128      {0x99,0xca,0xdc,0x24,0x0e,0xe5,0xa9,0xe0,0x93,0xf3,0xa3,0xb5,0x02,0x00,0x40,0x69}
//    #define DEF_CUST1_SERVER_CTRL_UUID_128    {0xb9,0x5c,0x49,0xd2,0x04,0xa3,0x40,0x71,0xa0,0xb5,0x35,0x85,0x3e,0xb0,0x83,0x07}

    #define DEF_CUST1_SVC_UUID_128            {0x9e,0xca,0xdc,0x24,0x0e,0xe5,0xa9,0xe0,0x93,0xf3,0xa3,0xb5,0x01,0x00,0x40,0x6e}
    #define DEF_CUST1_SERVER_TX_UUID_128      {0x9e,0xca,0xdc,0x24,0x0e,0xe5,0xa9,0xe0,0x93,0xf3,0xa3,0xb5,0x03,0x00,0x40,0x6e}
    #define DEF_CUST1_SERVER_RX_UUID_128      {0x9e,0xca,0xdc,0x24,0x0e,0xe5,0xa9,0xe0,0x93,0xf3,0xa3,0xb5,0x02,0x00,0x40,0x6e}
    #define DEF_CUST1_SERVER_CTRL_UUID_128    {0xb9,0x5c,0x49,0xd2,0x04,0xa3,0x40,0x71,0xa0,0xb5,0x35,0x85,0x3e,0xb0,0x83,0x07}

#endif

//#define DEF_CUST1_CTRL_POINT_CHAR_LEN     1
//#define DEF_CUST1_LED_STATE_CHAR_LEN      1
//#define DEF_CUST1_ADC_VAL_1_CHAR_LEN      2
//#define DEF_CUST1_ADC_VAL_2_CHAR_LEN      2
//#define DEF_CUST1_BUTTON_STATE_CHAR_LEN   1
//#define DEF_CUST1_INDICATEABLE_CHAR_LEN   1
//#define DEF_CUST1_LONG_VALUE_CHAR_LEN     1

//#define DEF_CUST1_SERVICE_CHAR_LEN            20
#define DEF_CUST1_SERVER_TX_CHAR_LEN        20
#define DEF_CUST1_SERVER_RX_CHAR_LEN        20
#define SPS_FLOW_CTRL_CHAR_LEN      20

extern uint8_t tx_mtu_len,rx_mtu_len;

//#define CUST1_CONTROL_POINT_USER_DESC     "Control Point"
//#define CUST1_LED_STATE_USER_DESC         "LED State"
//#define CUST1_ADC_VAL_1_USER_DESC         "ADC Value 1"
//#define CUST1_ADC_VAL_2_USER_DESC         "ADC Value 2"
//#define CUST1_BUTTON_STATE_USER_DESC      "Button State"
//#define CUST1_INDICATEABLE_USER_DESC      "Indicateable"
//#define CUST1_LONG_VALUE_CHAR_USER_DESC   "Long Value"

//#define CUST1_SERVICE_CHAR_USER_DESC          "service"
#define CUST1_SERVER_TX_CHAR_USER_DESC      "write"
#define CUST1_SERVER_RX_CHAR_USER_DESC      "read"
#define CUST1_SERVER_CTRL_CHAR_USER_DESC      "Flow Control"

/// Custom1 Service Data Base Characteristic enum
enum
{
    CUST1_IDX_SVC = 0,

//    CUST1_IDX_CONTROL_POINT_CHAR,
//    CUST1_IDX_CONTROL_POINT_VAL,
//    CUST1_IDX_CONTROL_POINT_USER_DESC,

//    CUST1_IDX_LED_STATE_CHAR,
//    CUST1_IDX_LED_STATE_VAL,
//    CUST1_IDX_LED_STATE_USER_DESC,

//    CUST1_IDX_ADC_VAL_1_CHAR,
//    CUST1_IDX_ADC_VAL_1_VAL,
//    CUST1_IDX_ADC_VAL_1_NTF_CFG,
//    CUST1_IDX_ADC_VAL_1_USER_DESC,

//    CUST1_IDX_ADC_VAL_2_CHAR,
//    CUST1_IDX_ADC_VAL_2_VAL,
//    CUST1_IDX_ADC_VAL_2_USER_DESC,

//    CUST1_IDX_BUTTON_STATE_CHAR,
//    CUST1_IDX_BUTTON_STATE_VAL,
//    CUST1_IDX_BUTTON_STATE_NTF_CFG,
//    CUST1_IDX_BUTTON_STATE_USER_DESC,

//    CUST1_IDX_INDICATEABLE_CHAR,
//    CUST1_IDX_INDICATEABLE_VAL,
//    CUST1_IDX_INDICATEABLE_IND_CFG,
//    CUST1_IDX_INDICATEABLE_USER_DESC,

//    CUST1_IDX_LONG_VALUE_CHAR,
//    CUST1_IDX_LONG_VALUE_VAL,
//    CUST1_IDX_LONG_VALUE_NTF_CFG,
//    CUST1_IDX_LONG_VALUE_USER_DESC,

    /*****************************************/
//      CUST1_IDX_SERVICE_CHAR,
//    CUST1_IDX_SERVICE_VAL,
//    CUST1_IDX_SERVICE_NTF_CFG,
//    CUST1_IDX_SERVICE_USER_DESC,

    CUST1_IDX_SERVER_TX_CHAR,
    CUST1_IDX_SERVER_TX_VAL,
    CUST1_IDX_SERVER_TX_NTF_CFG,
    CUST1_IDX_SERVER_TX_USER_DESC,

    CUST1_IDX_SERVER_RX_CHAR,
    CUST1_IDX_SERVER_RX_VAL,
    CUST1_IDX_SERVER_RX_NTF_CFG,
    CUST1_IDX_SERVER_RX_USER_DESC,


    CUST1_IDX_SERVER_CTRL_CHAR,
    CUST1_IDX_SERVER_CTRL_VAL,
    CUST1_IDX_SERVER_CTRL_NTF_CFG,
    CUST1_IDX_SERVER_CTRL_USER_DESC,


    /*****************************************/


    CUST1_IDX_NB
};

/*
 * GLOBAL VARIABLE DECLARATIONS
 ****************************************************************************************
 */

extern struct attm_desc_128 custs1_att_db[CUST1_IDX_NB];

/// @} USER_CONFIG

#endif // _USER_CUSTS1_DEF_H_
